1. Field of the Invention
The present invention relates to an apparatus and method for optimizing a model for automatically optimizing the data structure of a model without damaging the final shape (outline) of the model in a computer system for processing a three-dimensional model such as a solid model, etc.
2. Description of the Related Art
In a production designing job using a three-dimensional CAD (computer-aided design) system, it is almost impossible that a target specification can be attained in one designing process. Normally, the designing process can be completed after a number of amendments to design results. In the designing process, the designer only has to make the final shape apply to the specification. Therefore, the designer is not specifically aware of the data structure (model structure) of a three-dimensional model. However, the model structure largely depends on the designing process, and intends to be more complicated with an increasing number of amendments to the design.
As a model for representing the three-dimensional shape of an object can be, for example, a wire frame model represented by vertexes and edges; a surface model represented by the surface shape of an object; a solid model representing the definite discrimination between the outer portion and the inner portion of an object, etc. As for a solid model, the complicated outline of an object can be represented by combining the basic shapes (primitives) of a three-dimensional object such as a cuboid, a square hole, etc. In this explanation, the basic shapes are referred to as attributes.
For example, assume that the attribute A, which has become unnecessary during the designing process, has occurred. At this time, if there are other attributes B, C, . . . , which refer to the attribute A, then the attribute A cannot be singly deleted or amended. That is, when the attribute A is deleted or amended, the other attributes B, C, . . . should be correspondingly deleted and amended. Normally, each of the attributes of a solid model is defined using a previously defined attribute as a reference attribute.
When the designer specifies an amendment, the data structure is redefined or amended for each attribute. At this time, if there are only a few attributes relevant to a target attribute, there will not arise a big problem.
However, if an attribute defined at an early stage is to be deleted in a solid model containing hundreds or thousands of attributes, then a fatal problem may arise. In this case, since most of the attributes defined after the attribute to be deleted are relevant to the attribute, the designer has to manually amend all of the relevant attributes. This requires an enormously long time and intensive work.
In such a case, a target shape may be obtained by adding a new attribute without deleting the target attribute. For example, when the attribute to be deleted represents a hole in the surface of an object, a result equivalent to the deletion of the hole can be obtained by newly defining an object for filling the hole. On the other hand, when the attribute of the object to be deleted represents a boss (projection) in the surface of the object, a result equivalent to the deletion of the boss can be obtained by newly defining a hole having the same shape of the boss.
However, the designing process performed on the conventional solid model has the following problems.
First, a solid model designed by repeating substitute processes for replacing an attribute to be deleted with a new attribute contains a number of redundant attributes which are irrelevant to the actual shape. Therefore, the amount of data becomes enormously large, thereby causing poor responsiveness to each process such as the display, regeneration (reconstruction), amendment, etc. of the shape.
Furthermore, the relationships among the attributes make it difficult to delete or amend only a target attribute, thereby allowing the edition of a solid model only with very poor flexibility. When the solid model is used for a similar design or the analysis of a structure, the third party other than the designer may join the process, thereby causing the problem, in addition to the problem of the above described poor flexibility, that the third party does not understand the structure of the model and the relationships among the attributes of the model. As a result, an enormously long time is required to amend the solid model. In addition, it maybe necessary to newly generate the solid model. This is not an effective use of an existing solid model.
After the solid model has been designed as described above, the structure analysis is applied to the model in the finite element method. In this case, it is necessary to divide the solid model in a mesh format. However, the model may not be successfully divided by the existing automatic mesh division function.
This may be caused by adding an attribute which covers an attribute to be deleted. There is the possibility that a slight difference in shape arises at an edge of the attribute to be deleted even if a new attribute of the same shape is added to fill the attribute to be deleted. There are no problems when the shape is simple or two-dimensional. However, when the shape is complicated or placed on a curved plane, a small unexpected shape may be generated from the problem of computation precision, for example, deletion failure, a difference at the edge, etc. As a result, the mesh division method may result in fail.
In this case, the small unexpected shape should be deleted or amended, thereby requiring an enormously long time and intensive work again. Even if the small unexpected shape is kept as it is, and the mesh dividing process has been successfully performed, the division result contains a large number of small unexpected shapes, and therefore cannot be used for analysis.